/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package pec4.tds.coordinador.excepciones;

import i18n.TDSLanguageUtils;


/**
 * Errores en la aplicación
 * @author Paloma Macías Calderón, Mario Ruz Martínez
 */
public abstract class ExcepcionAplicacion extends Exception
{
    private Exception excepcion = null; //excepción
	private String msgUser = null;      //mensaje para el usuario

    /**
     * Constructor de la clase
     */
    public ExcepcionAplicacion(){
        super();
        this.msgUser = TDSLanguageUtils.getMessage("msg.errorGen");//error en la aplicación
    }

    /**
     * Constructor de la clase
     * @param excepcion : excepción
     */
    public ExcepcionAplicacion(Exception excepcion){
        super();
        if(excepcion != null) this.msgUser = excepcion.getMessage();
        else this.msgUser = TDSLanguageUtils.getMessage("msg.errorGen");//error en la aplicación
    }

    /**
     * Constructor de la clase
     * @param excepcion : excepción
     * @param msgUser : mensaje para el usuario
     */
    public ExcepcionAplicacion(Exception excepcion, String msgUser){
        super(msgUser);
        this.excepcion = excepcion;
        this.msgUser = msgUser;
    }

    /**
     * Getter de lectura para excepcion
     */
    public Exception getExcepcio(){
        return excepcion;
    }

    /**
     * Getter de lectura para msgUser
     */
    public String getMsgUser(){
        return msgUser;
    }

    /**
     * Setter de escritura para excepcion
     */
    protected void setExcepcion(Exception excepcion){
        this.excepcion = excepcion;
    }

    /**
     * Setter de escritura para msgUser
     */
    protected void setMsgUser(String msgUser){
        this.msgUser = msgUser;
    }
    
    
}
